package com.cdtye.itps.cms.dao.site.entity;


import com.baomidou.mybatisplus.annotation.*;
import com.cdtye.itps.cms.dao.enums.SiteTypeEnum;
import com.cdtye.itps.cms.dao.enums.StatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

@ApiModel("区间站场")
@TableName("JC_SITE")
public class JcSite {
    @ApiModelProperty("区间站场ID")
    @TableId(
            value = "SITE_ID",
            type = IdType.ASSIGN_UUID
    )
    private String siteId;
    @ApiModelProperty("备注信息")
    private String memo;
    @ApiModelProperty("区间站场名称")
    private String siteName;
    @ApiModelProperty("区间站场编号")
    private String siteNo;
    @ApiModelProperty("区间站场类型   SITE - 站场  AREA - 区间")
    private SiteTypeEnum siteType;
    @ApiModelProperty("状态  NORMAL: 正常  FROZEN:冻结")
    private StatusEnum status;
    @ApiModelProperty("共享数据中心编码")
    private String mCode;
    private String unitDeptCode;
    @ApiModelProperty("创建时间")
    @TableField(
            value = "CREATE_DATETIME",
            fill = FieldFill.INSERT
    )
    private Date createDatetime;
    @ApiModelProperty("更新时间")
    @TableField(
            value = "UPDATE_DATETIME",
            fill = FieldFill.INSERT_UPDATE
    )
    private Date updateDatetime;
    @ApiModelProperty("创建人")
    @TableField(
            value = "CREATE_BY",
            fill = FieldFill.INSERT
    )
    private String createBy;
    @ApiModelProperty("更新人")
    @TableField(
            value = "UPDATE_BY",
            fill = FieldFill.INSERT_UPDATE
    )
    private String updateBy;

    public JcSite() {
    }

    public String getSiteId() {
        return this.siteId;
    }

    public String getMemo() {
        return this.memo;
    }

    public String getSiteName() {
        return this.siteName;
    }

    public String getSiteNo() {
        return this.siteNo;
    }

    public SiteTypeEnum getSiteType() {
        return this.siteType;
    }

    public StatusEnum getStatus() {
        return this.status;
    }

    public String getMCode() {
        return this.mCode;
    }

    public String getUnitDeptCode() {
        return this.unitDeptCode;
    }

    public Date getCreateDatetime() {
        return this.createDatetime;
    }

    public Date getUpdateDatetime() {
        return this.updateDatetime;
    }

    public String getCreateBy() {
        return this.createBy;
    }

    public String getUpdateBy() {
        return this.updateBy;
    }

    public JcSite setSiteId(String siteId) {
        this.siteId = siteId;
        return this;
    }

    public JcSite setMemo(String memo) {
        this.memo = memo;
        return this;
    }

    public JcSite setSiteName(String siteName) {
        this.siteName = siteName;
        return this;
    }

    public JcSite setSiteNo(String siteNo) {
        this.siteNo = siteNo;
        return this;
    }

    public JcSite setSiteType(SiteTypeEnum siteType) {
        this.siteType = siteType;
        return this;
    }

    public JcSite setStatus(StatusEnum status) {
        this.status = status;
        return this;
    }

    public JcSite setMCode(String mCode) {
        this.mCode = mCode;
        return this;
    }

    public JcSite setUnitDeptCode(String unitDeptCode) {
        this.unitDeptCode = unitDeptCode;
        return this;
    }

    public JcSite setCreateDatetime(Date createDatetime) {
        this.createDatetime = createDatetime;
        return this;
    }

    public JcSite setUpdateDatetime(Date updateDatetime) {
        this.updateDatetime = updateDatetime;
        return this;
    }

    public JcSite setCreateBy(String createBy) {
        this.createBy = createBy;
        return this;
    }

    public JcSite setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof JcSite)) {
            return false;
        } else {
            JcSite other = (JcSite)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label155: {
                    Object this$siteId = this.getSiteId();
                    Object other$siteId = other.getSiteId();
                    if (this$siteId == null) {
                        if (other$siteId == null) {
                            break label155;
                        }
                    } else if (this$siteId.equals(other$siteId)) {
                        break label155;
                    }

                    return false;
                }

                Object this$memo = this.getMemo();
                Object other$memo = other.getMemo();
                if (this$memo == null) {
                    if (other$memo != null) {
                        return false;
                    }
                } else if (!this$memo.equals(other$memo)) {
                    return false;
                }

                Object this$siteName = this.getSiteName();
                Object other$siteName = other.getSiteName();
                if (this$siteName == null) {
                    if (other$siteName != null) {
                        return false;
                    }
                } else if (!this$siteName.equals(other$siteName)) {
                    return false;
                }

                label134: {
                    Object this$siteNo = this.getSiteNo();
                    Object other$siteNo = other.getSiteNo();
                    if (this$siteNo == null) {
                        if (other$siteNo == null) {
                            break label134;
                        }
                    } else if (this$siteNo.equals(other$siteNo)) {
                        break label134;
                    }

                    return false;
                }

                label127: {
                    Object this$siteType = this.getSiteType();
                    Object other$siteType = other.getSiteType();
                    if (this$siteType == null) {
                        if (other$siteType == null) {
                            break label127;
                        }
                    } else if (this$siteType.equals(other$siteType)) {
                        break label127;
                    }

                    return false;
                }

                label120: {
                    Object this$status = this.getStatus();
                    Object other$status = other.getStatus();
                    if (this$status == null) {
                        if (other$status == null) {
                            break label120;
                        }
                    } else if (this$status.equals(other$status)) {
                        break label120;
                    }

                    return false;
                }

                Object this$mCode = this.getMCode();
                Object other$mCode = other.getMCode();
                if (this$mCode == null) {
                    if (other$mCode != null) {
                        return false;
                    }
                } else if (!this$mCode.equals(other$mCode)) {
                    return false;
                }

                label106: {
                    Object this$unitDeptCode = this.getUnitDeptCode();
                    Object other$unitDeptCode = other.getUnitDeptCode();
                    if (this$unitDeptCode == null) {
                        if (other$unitDeptCode == null) {
                            break label106;
                        }
                    } else if (this$unitDeptCode.equals(other$unitDeptCode)) {
                        break label106;
                    }

                    return false;
                }

                Object this$createDatetime = this.getCreateDatetime();
                Object other$createDatetime = other.getCreateDatetime();
                if (this$createDatetime == null) {
                    if (other$createDatetime != null) {
                        return false;
                    }
                } else if (!this$createDatetime.equals(other$createDatetime)) {
                    return false;
                }

                label92: {
                    Object this$updateDatetime = this.getUpdateDatetime();
                    Object other$updateDatetime = other.getUpdateDatetime();
                    if (this$updateDatetime == null) {
                        if (other$updateDatetime == null) {
                            break label92;
                        }
                    } else if (this$updateDatetime.equals(other$updateDatetime)) {
                        break label92;
                    }

                    return false;
                }

                Object this$createBy = this.getCreateBy();
                Object other$createBy = other.getCreateBy();
                if (this$createBy == null) {
                    if (other$createBy != null) {
                        return false;
                    }
                } else if (!this$createBy.equals(other$createBy)) {
                    return false;
                }

                Object this$updateBy = this.getUpdateBy();
                Object other$updateBy = other.getUpdateBy();
                if (this$updateBy == null) {
                    if (other$updateBy != null) {
                        return false;
                    }
                } else if (!this$updateBy.equals(other$updateBy)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof JcSite;
    }

    public int hashCode() {
        int result = 1;
        Object $siteId = this.getSiteId();
        result = result * 59 + ($siteId == null ? 43 : $siteId.hashCode());
        Object $memo = this.getMemo();
        result = result * 59 + ($memo == null ? 43 : $memo.hashCode());
        Object $siteName = this.getSiteName();
        result = result * 59 + ($siteName == null ? 43 : $siteName.hashCode());
        Object $siteNo = this.getSiteNo();
        result = result * 59 + ($siteNo == null ? 43 : $siteNo.hashCode());
        Object $siteType = this.getSiteType();
        result = result * 59 + ($siteType == null ? 43 : $siteType.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $mCode = this.getMCode();
        result = result * 59 + ($mCode == null ? 43 : $mCode.hashCode());
        Object $unitDeptCode = this.getUnitDeptCode();
        result = result * 59 + ($unitDeptCode == null ? 43 : $unitDeptCode.hashCode());
        Object $createDatetime = this.getCreateDatetime();
        result = result * 59 + ($createDatetime == null ? 43 : $createDatetime.hashCode());
        Object $updateDatetime = this.getUpdateDatetime();
        result = result * 59 + ($updateDatetime == null ? 43 : $updateDatetime.hashCode());
        Object $createBy = this.getCreateBy();
        result = result * 59 + ($createBy == null ? 43 : $createBy.hashCode());
        Object $updateBy = this.getUpdateBy();
        result = result * 59 + ($updateBy == null ? 43 : $updateBy.hashCode());
        return result;
    }

    public String toString() {
        return "JcSite(siteId=" + this.getSiteId() + ", memo=" + this.getMemo() + ", siteName=" + this.getSiteName() + ", siteNo=" + this.getSiteNo() + ", siteType=" + this.getSiteType() + ", status=" + this.getStatus() + ", mCode=" + this.getMCode() + ", unitDeptCode=" + this.getUnitDeptCode() + ", createDatetime=" + this.getCreateDatetime() + ", updateDatetime=" + this.getUpdateDatetime() + ", createBy=" + this.getCreateBy() + ", updateBy=" + this.getUpdateBy() + ")";
    }
}
